home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
DTP
/
CACK.SPK
/
!Cack
/
!RunImage
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1995-08-13
|
9KB
|
349 lines
>!RunImage
Cack Generator
(c) Jon Ribbens of DoggySoft, 1993
Ha! Looking at the program, eh? Well, I've caught you out.
So you're gonna have to read my pome.
Slalom mice do daily go
Where others fear to tread,
But ski-jump mice oft feel the need
To hide beneath their beds.
*Now* you're sorry, aren't you?
$+" at line "+
init:
"Wimp_Initialise",200,&4B534154,"Cack"
,task%
q% 1024,indir% 1024,menu% 100:eindir%=indir%+1024
"Wimp_OpenTemplate",,"<Obey$Dir>.Templates"
"Wimp_LoadTemplate",,q%,indir%,eindir%,-1,"cack",0
,,indir%
"Wimp_CreateWindow",,q%
cackw%
"Wimp_LoadTemplate",,q%,indir%,eindir%,-1,"info",0
,,indir%
"Wimp_CreateWindow",,q%
infow%
"Wimp_CloseTemplate"
N!q%=infow%:q%!4=4:
"Wimp_GetIconState",,q%:$(q%!28)="0.02 (06-Jan-1994)"
M!q%=cackw%:
"Wimp_GetWindowState",,q%:q%!28=-1:
"Wimp_OpenWindow",,q%
K!q%=cackw%:q%!4=0:
"Wimp_GetIconState",,q%:cacki%=q%!28:$cacki%=
E$menu%="Cack":menu%!12=&70207:menu%!16=112:menu%!20=44:menu%!24=0
Cmenu%!28=0:menu%!32=infow%:menu%!36=&7000021:$(menu%+40)="Info"
!@menu%!52=0:menu%!56=0:menu%!60=&7000021:$(menu%+64)="Insert"
"Hmenu%!76=128:menu%!80=0:menu%!84=&7000021:$(menu%+88)="Quit":ins$=""
#@quit%=
"OS_ReadMonotonicTime"
ot%:ot%+=3000:
quit%
"OS_ReadMonotonicTime"
(t%-ot%)>0:ot%+=3000:
ins$=""
'0
"Wimp_PollIdle",6192,q%,ot%
reason%
)(
"Wimp_Poll",6192,q%
reason%
reason%
-&
"OS_ReadMonotonicTime"
t%>=ot%
$cacki%=
04
"Wimp_ForceRedraw",cackw%,0,-128,1276,0
1
ins$<>""
3*
"Wimp_ProcessKey",
ins$,1))
ins$=
ins$,2)
5
7*
"Wimp_RedrawWindow",,q%
flag%
85
flag%:
"Wimp_GetRectangle",,q%
flag%:
:
"Wimp_OpenWindow",,q%
<!
"Wimp_CloseWindow",,q%
!q%=cackw%
quit%=
?! b%=q%!8:w%=q%!12:i%=q%!16
w%=cackw%
b%<>2
$cacki%=
C6
"Wimp_ForceRedraw",cackw%,0,-128,1276,0
D5
"OS_ReadMonotonicTime"
ot%:ot%+=3000
F6
"Wimp_CreateMenu",,menu%,!q%-64,q%!4+16
H
w%=infow%
b%<>2
J4 q%!4=infow%:
"Wimp_GetWindowState",,q%+4
K9
b%=%100
q%!32=-1:
"Wimp_OpenWindow",,q%+4
L1 !q%=infow%:q%!4=1:
"Wimp_DragBox",,q%
M
O3 m%=!q%:
"Wimp_GetPointerInfo",,q%:b%=q%!8
R&
"Wimp_GetPointerInfo",,q%
S6
"Wimp_CreateMenu",,infow%,!q%-420,q%!4+32
ins$=$cacki%+
V=
b%=1
"Wimp_CreateMenu",,menu%,!q%-64,q%!4+16
quit%=
Y
17,18 :
q%!16
0 : quit%=
]
"Wimp_CloseDown"
adjobj%
adjobj$(adjobj%)
i%=1
adjobj%
adjobj$(i%)
adjver%
adjver$(adjver%)
i%=1
adjver%
adjver$(i%)
noun%
noun$(noun%)
i%=1
noun%
noun$(i%)
verb%
verb$(verb%)
i%=1
verb%
verb$(i%)
very%
very$(very%)
i%=1
very%
very$(i%)
freq%
freq$(freq%)
i%=1
freq%
freq$(i%)
lv%=0:lao%=0:lav%=0:lo%=0
cack$
cack$=""
# cack$=
longcommand+", for "
M cack$=
athe(
longobject)+" "+
longaction+" the "+
longobject+", for "
5 cack$+=
athe(
longobject)+" "+
longaction+" "
% cack$+=
athe(
longobject)+"."
= cack$+=
adjver+" "+
athe(
longobject)+" "+
action+" "
% cack$+=
athe(
longobject)+"."
E cack$+=
athe(
longobject)+" is "+
adjver+" "+
object+"-like."
J cack$+=
freq+" "+
longobjects+" "+
longrepeat+" "+
longobjects+"."
J cack$+=
longobjects+" "+
freq+" "+
longrepeat+" "+
longobjects+"."
cack$,1)=
upper(
cack$,1))
=cack$
upper(a$)
a$>="a"
a$<="z"
(a$)-32)
athe(next$)
(2)=1
="the "+next$
"aeiou",
next$,1))
="an "+next$
="a "+next$
action
(verb%):
v%<>lv%:lv%=v%
verb$(v%),
verb$(v%),"|")+1)
command
(verb%):
v%<>lv%:lv%=v%
verb$(v%),
verb$(v%),"|")-1)
adjobj
(adjobj%):
ao%<>lao%:lao%=ao%
=adjobj$(ao%)
adjver
(adjver%):
av%<>lav%:lav%=av%
=adjver$(av%)
object
(noun%):
o%<>lo%:lo%=o%
noun$(o%),
noun$(o%),"|")-1)
objects
(noun%):
o%<>lo%:lo%=o%
noun$(o%),
noun$(o%),"|")+1)
=very$(
(very%))
=freq$(
(freq%))
longobject
lo$=
object
lo$=
adjobj+" "+
object
< lo$=
adjobj+", yet "+
adjver+" "+
adjobj+" "+
object
) lo$=
very+" "+
adjobj+" "+
object
longobjects
lo$=
objects
lo$=
adjobj+" "+
objects
= lo$=
adjobj+", yet "+
adjver+" "+
adjobj+" "+
objects
* lo$=
very+" "+
adjobj+" "+
objects
longaction
la$=
adjver+" "+
action
/ la$=
adjver+" but "+
adjver+" "+
action
longrepeat
lr$=
adjver+" "+
command
0 lr$=
adjver+" and "+
adjver+" "+
command
longcommand
lc$=
command+" "+
adjver
4 lc$=
command+" the "+
longobject+" "+
adjver
lc$=
command+" "+
adjver
4 lc$=
adjver+" "+
command+" the "+
longobject
Adjectives (adjobj$)
rotund,fat,round,red,short,full,flat,rippled,pert,pointless,squishy
strange,silent,square,pointed,sharpened,deafening,floppy,rigid,colourful
bland,stupid,black,furry,hot,remarkable
fishy,mangy,vast,spherical,blasted,tame,unfortunate,green
gruesome,happy,malicious,bouncy,loud,greasy,early,sturdy,heavenly
Adverbs (adjver$)
quickly,cautiously,rotundly,promptly,pointlessly,lamely,flatly,fully
vapidly,boredly,warily,confidently,over-confidently,stupidly
suddenly,quietly,noisily,sardonically,sarcastically,underhandedly
unnecessarily,stunningly,cleverly,viciously,violently
smarmily,gormlessly,contentedly,quietly,surreptitiously,aimlessly
aggressively,beautifully,stubbornly,distrustfully,hastily
rashly,punctually
Objects (noun$)
potato|potatoes,prime minister|cabinet ministers,vegetable|vegetables,apple|apples
ball|balls,book|books,llama|llamas,snake|snakes,ruler|rulers,king|kings
hotel|hotels,mushroom|mushrooms
vote of no confidence|votes of no confidence
periodic table|periodic tables,tarot card|tarot cards,bicycle|bicycles
zombie|zombies,staircase|staircases,camera|cameras
fruiterer|fruiterers,stick|sticks,hat|hats,ant-eater|ant-eaters
painting|paintings,magazine|magazines,House of Lords|Houses of Parliament
bookshelf|bookshelves,anvil|anvils,lampshade|lampshades,lasagne|lasagnes
lay-by|lay-bys,swan|swans,tape-recorder|tape-recorders,sheep|sheep
mouse|mice
jiffy bag|jiffy bags,credit card|credit cards
television|televisions,Maggie Thatcher|Maggie Thatchers,radiator|radiators,bin bag|bin bags
child|children,stapler|staplers,umbrella|umbrellas,plug|plugs,thesaurus|thesauruses
mug|mugs,tissue|tissues,bunny|bunnies
Actions (verb$)
squash|squashes,hit|hits,maim|maims,squeeze|squeezes,hair-dry|hair-dries
eat|eats,lick|licks,shoot|shoots,roll|rolls,push|pushes,circle|circles
wallop|wallops,pick|picks,hold|holds,flatten|flattens,paint|paints
mend|mends,break|breaks,attack|attacks,consider|considers,stun|stuns
strangle|strangles,victimise|victimises,fondle|fondles,rule|rules
spin|spins,abuse|abuses,blame|blames,slice|slices,drop|drops,polish|polishes
paint|paints,scratch|scratches,contain|contains,sell|sells,examine|examines
push|pushes,enjoy|enjoys,reject|rejects,like|likes
Superlatives (very$)
very,extremely,slightly,hugely,massively,muchly,quietly,inhumanly
staggeringly,underhandedly,unnoticeably,tinily,fractiously
exaggeratedly,unnecessarily,not overly,swimmingly
rather,absolutely,acutely,decidedly,highly,quite,unusually,somewhat
eminently,tremendously
Frequencies (freq$)
sometimes,occasionally,often,frequently,fortnightly,once in a blue moon
every day,every week,hourly,annually,at random intervals,monthly
bi-monthly,every four years,when the moon is full
repeatedly,always